Identifiable, Versionable, and Maintainable

DDI differentiates between a set of element types. Not all objects are individually identifiable, i.e. some objects only have meaning within the context of an identifiable object such as a Label or Description. The remaining objects are Identifiable, Versionable or Maintainable in order to support different levels of metadata management.

Identifiable

Identifiable objects are those that can be referenced directly either or inclusion in another object or for the purpose of attaching Other Material or a Note to the object.

Identifiable objects have a unique ID within the context of their specified scope of uniqueness (see Scope of Uniqueness discussion within this section). Their Agency Identification and Version Number match those of the object’s immediate parent Versionable (or Maintainable if there is not a parent Versionable) at the point of creation. This means that if an Identifiable object is created within a version 1 of a parent Versionable and does NOT change its content over time it will retain its Version Number of 1 until the identifiable object itself is altered. It will then change its Version Number to that of its parent Versionable at the time of the alteration.

In other words an Identifiable could go from a Version 1 to a Version 4 without ever having a Version 2 or 3 if the cause for versioning did not involve any change in the Identifiable object within Version 2 and 3 of the parent Versionable.

Identifiable Object

Extension base is AbstractIdentifiable

URN

See URN Structure below

@typeOfIdentifier

URN used by Agency [Canonical | Deprecated]

Agency

Base sequence of identification. If sequence is used, all are required.

ID

Version

UserID

@typeOfUserID

A user specified identification for a specific system such as a DOI or internal search engine. Both the ID and @typeOfUserID must be specified. Version information is optional.

@userIDVersion

@typeOfUserVersion

MaintainableObject

TypeOfObject

The Maintainable object containing the Identifiable object. TypeOfObject is required to create Deprecated URN. ID is required for any URN if

ScopeOfUniqueness = ”Maintainable”.

Version number provides context base.

MaintainableID

MaintainableVersion

@inheritanceAction

See Grouping: Inheritance

@objectSource

The object source of a resolved reference

@scopeOfUniqueness

Scope used by Agency [Agency | Maintainable

@IsUniversallyUnique

States the scope of uniqueness for the ID

@isIdentifiable

Fixed value = “true” [specifies object base]

Versionable

A Versionable object has the characteristics of an Identifiable object but may be managed over time.

DDI has determined that being able to tack change within the object over time is a requirement, either to understand the relationship to earlier objects of a similar type or to track provenance.

Note that it is up to the individual content provider to determine whether an object is essentially new or is a modification (version) of an earlier object. Versionable objects have a unique ID within the context of their specified scope of uniqueness (see Scope of Uniqueness discussion within this section). Their Agency identificationmatches that of the object’s immediate parent Maintainable at the point of creation.

In other words the Agency of an object does not change simply because it is included by reference in a Maintainable managed by a different agency. The Version number of the object changes each time its content changes. See Versioning for a discussion of when and how this may be implanted within different organizations or projects.

Versionable Object

Extension base is AbstractIdentifiable

URN

See URN Structure below

@typeOfIdentifier

URN used by Agency [Canonical | Deprecated]

Agency

Base sequence of identification. If sequence is used, all are required.

ID

Version

UserID

@typeOfUserID

A user specified identification for a specific system such as a DOI or internal search engine. Both the ID and @typeOfUserID must be specified. Version information is optional.

@userIDVersion

@typeOfUserVersion

UserAttributePair

AttributeKey

User defined Key/Value pair used to support interaction of the metadata within the user’s system.

AttributeValue

VersionResponsibility

Who within the Agency versioned the object

VesionResponsibilityReference

Alternate reference to who versioned the object

VersionRationale

Reason for version change (to inform user)

BasedOnReference

MaintainableObject

TypeOfObject

The Maintainable object containing the Identifiable object. TypeOfObject is required to create Deprecated URN. ID is required for any URN if

ScopeOfUniqueness = ”Maintainable”.

Version number provides context base.

MaintainableID

MaintainableVersion

@inheritanceAction

See Grouping: Inheritance

@objectSource

The object source of a resolved reference

@scopeOfUniqueness

Scope used by Agency [Agency | Maintainable

@IsUniversallyUnique

States the scope of uniqueness for the ID

@isVersionable

Fixed value = “true” [specifies object base]

@versionDate

Date/Time of version change

Maintainable

A Maintainable object is a type of packaging and generally takes the form of either a module or scheme.

Modules package metadata focused on specified segments of the Lifecycle for which context is important for understanding.

Schemes are similar to data base tables, containing a stack of similar type objects that many have important contextual relevance to each other, i.e. a classification scheme captured in a DDI Category Scheme. There is one unique form of a Maintainable which is the CodeList. A CodeList is a Maintainable in its own right for the purpose of supporting the statistical production process. However it can only be published within the context of a parent Maintainable Scheme.

All Schemes and Modules may be published within the context of a Study Unit or Group (a collection of Study Units) or as a separate Resource Package item primarily for the purpose of reuse.

Maintainable Object

Extension base is AbstractMaintainable

URN

See URN Structure below

@typeOfIdentifier

URN used by Agency [Canonical | Deprecated]

Agency

Base sequence of identification. If sequence is used, all are required

ID

Version

UserID

@typeOfUserID

A user specified identification for a specific system such as a DOI or internal search engine.

Version information is optional.

Both the ID and @typeOfUserID must be specified.

@userIDVersion

@typeOfUserVersion

UserAttributePair

AttributeKey

User defined Key/Value pair used to support interaction of the metadata within the user’s system.

AttributeValue

VersionResponsibility

Who within the Agency versioned the object

VesionResponsibilityReference

Alternate reference to who versioned the object

VersionRationale

Reason for version change (to inform user)

BasedOnReference

Note

Notes related to objects with the maintainable (Payload)

Software

Software used to create the Maintainable object (Payload)

MetadataQuality

Quality of the metadata in the Maintainable object (Payload)

MaintainableObject

Same as Identifiable Object

@inheritanceAction

See Grouping: Inheritance

@objectSource

The object source of a resolved reference

@scopeOfUniqueness

Scope used by Agency [Agency | Maintainable

@IsUniversallyUnique

States the scope of uniqueness for the ID

@isMaintainable

Fixed value = “true” [specifies object base]

@versionDate

Date/Time of version change

@externalReferenceDefaultURI

Indicates that the content is available for reuse by reference

@isPublished

Indicates that the contents are persistent and can be referenced by external documents

@xml:lang

The language of the metadata in the Maintainable object (Payload)